YOLOv5 环境搭建、 coco128 训练示例 、 详细记录【一文读懂】

您所在的位置:网站首页 yolov5 valpy 没有验证集可以跑嘛 YOLOv5 环境搭建、 coco128 训练示例 、 详细记录【一文读懂】

YOLOv5 环境搭建、 coco128 训练示例 、 详细记录【一文读懂】

2024-06-09 07:44| 来源: 网络整理| 查看: 265

🥇 版权: 本文由【墨理学AI】原创、在CSDN首发、各位大佬、敬请查阅🎉 声明: 作为 A I领域 全网干货最多的博主之一,❤️ 不负光阴不负卿 ❤️

文章目录 📔 环境搭建📕 测试🟧 使用 预训练 模型进行测试: 【2020-09-25 版本代码测试方法】🟨 显卡推理测试 Quadro RTX 5000【2021-8-19版本代码测试】🔴 对 coco/images/val2017 进行测试🔵 对 视频检测测试 3840 * 2160 分辨率 | 29.97 帧 / 秒🟣 yolov5s.pt 转换 得到 yolov5s.onnx🟡 运行 yolov5s.onnx 进行测试 📗 官方coco128 数据集训练 + 测试📘 定制数据集训练📙 感谢关注

📔 环境搭建 服务器:ubuntu1~18.04 Quadro RTX 5000 16GCUDA 内核驱动是 cuda10.2 版本的驱动代码传送门: https://github.com/ultralytics/yolov5

最新当前环境搭建方法【2021-8-19】

conda create -n torchYolo python=3.8.0 conda activate torchYolo pip install -r requirements.txt # export requirements 【模型转换需要安装】 pip install coremltools onnx scikit-learn 📕 测试 🟧 使用 预训练 模型进行测试: 【2020-09-25 版本代码测试方法】 python detect.py --source ./inference/images/ --weights ./pretrain/yolov5x.pt --conf 0.4

测试检测效果示例如下:

1

2

可以发现,模型越大,检测越准确(指标数值变大);

【2021-8-19】补充更新,当前版本作者代码一直在更新【测试命令相应也有改变】

🟨 显卡推理测试 Quadro RTX 5000【2021-8-19版本代码测试】

该部分随官方代码更新补充

🔴 对 coco/images/val2017 进行测试 python detect.py --source data/coco/images/val2017 GPU 占用 1217MiB # 输出如下 ... image 4998/5000 /home/moli/project/projectBy/ten/objectDetect/coco/images/val2017/000000581482.jpg: 448x640 1 clock, Done. (0.008s) image 4999/5000 /home/moli/project/projectBy/ten/objectDetect/coco/images/val2017/000000581615.jpg: 640x480 1 toilet, Done. (0.008s) image 5000/5000 /home/moli/project/projectBy/ten/objectDetect/coco/images/val2017/000000581781.jpg: 480x640 22 bananas, 3 oranges, Done. (0.008s) Results saved to runs/detect/exp3 Done. (121.517s) # 速度 FPS = 5000 / 121.517 = 41.146 帧 / 秒 🔵 对 视频检测测试 3840 * 2160 分辨率 | 29.97 帧 / 秒 python detect.py --source data/videos/ GPU 占用 1217MiB # 输出如下 ... video 1/1 (3622/3622) /home/moli/data/videos/5p2b_01A1.m4v: 384x640 5 persons, 1 sports ball, Done. (0.008s) Results saved to runs/detect/exp2 Done. (384.598s) # 速度 FPS = 3622 / 384.598 = 9.417 帧 / 秒 🟣 yolov5s.pt 转换 得到 yolov5s.onnx python export.py --weights yolov5s.pt --img 640 --batch 1 --include onnx # 输出如下 export: weights=yolov5s.pt, img_size=[640], batch_size=1, device=cpu, include=['onnx'], half=False, inplace=False, train=False, optimize=False, dynamic=False, simplify=False, opset=12 YOLOv5 🚀 v5.0-375-gd1182c4 torch 1.9.0+cu102 CPU Fusing layers... Model Summary: 224 layers, 7266973 parameters, 0 gradients PyTorch: starting from yolov5s.pt (14.8 MB) ONNX: starting export with onnx 1.10.1... ONNX: run --dynamic ONNX model inference with: 'python detect.py --weights yolov5s.onnx' Export complete (2.88s) 🟡 运行 yolov5s.onnx 进行测试 python detect.py --weights yolov5s.onnx detect: weights=['yolov5s.onnx'], source=data/images, imgsz=[640, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, tfl_int8=False YOLOv5 🚀 v5.0-375-gd1182c4 torch 1.9.0+cu102 CUDA:0 (Quadro RTX 5000, 16125.3125MB) image 1/2 /home/moli/project/project21Next/modelTrans/ncnnLearn/yolov5/data/images/bus.jpg: 640x640 4 class0s, 1 class5, Done. (0.620s) image 2/2 /home/moli/project/project21Next/modelTrans/ncnnLearn/yolov5/data/images/zidane.jpg: 640x640 2 class0s, 2 class27s, Done. (0.369s) Results saved to runs/detect/exp Done. (4.562s) 📗 官方coco128 数据集训练 + 测试

下载 coco128 数据集、并解压:

curl -L -o tmp.zip https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip && unzip -q tmp.zip && rm tmp.zip # download dataset

训练:

服务器网络畅通,则直接执行如下命令,会自动下载 coco128 数据集,并开始训练:

python train.py --img 640 --batch 16 --epochs 5 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ''

测试:(这一步作用是什么???)

python test.py --data coco128.yaml --img 640 --conf 0.001

使用训练得到的模型进行测试:

python detect.py --source ./inference/images/ --weights ./runs/exp0/weights/best.pt --conf 0.4

测试并生成数据对应的检测结果文本文件 --save-txt

python detect.py --source ./inference/images/ --weights ./runs/exp0/weights/best.pt --conf 0.4 --save-txt

总结: --save-txt 检测结果txt ;观察 上一步骤 ./inference/output/ 目录下生成的文件,发现如下

9

📘 定制数据集训练

Train Custom Data:直接参考官方

官方示例,步骤简述如下:

2

3

3

4

5

5

6. 使用 yolov5s.pt 预训练模型 对 coco128 进行 300 epochs 训练

time python train.py --img 640 --batch 16 --epochs 300 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ./pretrain/yolov5s.pt --device 1 训练时长: 20分钟生成结果目录: yolov5-master/runs300 epochs 训练 得到的 results.png 如下:

7

📙 感谢关注 ❤️ 你只看一篇就够用的教程 感谢各位大佬一键三连 ❤️ 祝愿你的代码没有Bug , 学习顺利 !

9-6



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3